home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 028a / managr02.zip / MANAGER.ASI < prev    next >
Text File  |  1992-01-22  |  53KB  |  2,967 lines

  1. rem MANAGER.COM
  2.  
  3. rem consecutive to wait22:
  4.  
  5. rem initialize Esc key.  This is necessary because some parameters go directly 
  6. rem to a routine; if it wasn't initialized here, it would have to be re-
  7. rem initialized in every routine in which it was used.  CHR$(27) is the ASCII 
  8. rem code for the Esc key.
  9.  
  10. b$=chr$(27)
  11.  
  12. rem initialize Enter (Return) key.  Same reason as the Esc key initialization, 
  13. rem but applies mainly to the error routines.  CHR$(13) is the ASCII code for 
  14. rem the Enter (Return) key.
  15.  
  16. c$=chr$(13)
  17.  
  18. rem Again, for the error routines, initialize the Backspace key and space bar.
  19.  
  20. d$=chr$(8)
  21. e$=chr$(32)
  22. lf$=chr$(10)
  23. crlf$=c$+lf$
  24. rem a=csrline (this is reserved in the subroutine CURSOR:)
  25. rem b=pos(0) (also reserved in CURSOR: subroutine)
  26. rem c=b-1 (reserved in CURSOR: subroutine)
  27.  
  28. rem This program requires approximately 68K of RAM.
  29.  
  30. rem Now, check for parameters.  The first set is for 80-column mode.
  31.  
  32. a$=command$
  33. if a$=" /?" then help:
  34. if a$=" /d" then killfile:
  35. if a$=" /D" then killfile:
  36. if a$=" /m" then makedir:
  37. if a$=" /M" then makedir:
  38. if a$=" /n" then renfile:
  39. if a$=" /N" then renfile:
  40. if a$=" /g" then timedate:
  41. if a$=" /G" then timedate:
  42.  
  43. if a$=" /b" then
  44. gosub blankscr:
  45. goto menu:
  46. endif
  47.  
  48. if a$=" /B" then
  49. gosub blankscr:
  50. goto menu:
  51. endif
  52.  
  53. if a$=" /p" then chckgrph:
  54. if a$=" /P" then chckgrph:
  55.  
  56. if a$=" /s" then
  57. call ("seefiles.com","")
  58. goto menu:
  59. endif
  60.  
  61. if a$=" /S" then
  62. call ("seefiles.com","")
  63. goto menu:
  64. endif
  65.  
  66. if a$=" /v" then readfile:
  67. if a$=" /V" then readfile:
  68. if a$=" /l" then printfil:
  69. if a$=" /L" then printfil:
  70.  
  71. rem This set of parameters is for 40-column mode.
  72.  
  73. if a$=" /40" then menu40:
  74. if a$=" /40 ?" then help40:
  75. if a$=" /40 d" then killfl40:
  76. if a$=" /40 D" then killfl40:
  77. if a$=" /40 m" then makedr40:
  78. if a$=" /40 M" then makedr40:
  79. if a$=" /40 n" then renfil40:
  80. if a$=" /40 N" then renfil40:
  81. if a$=" /40 g" then timedt40:
  82. if a$=" /40 G" then timedt40:
  83.  
  84. if a$=" /40 b" then
  85. gosub blankscr:
  86. goto menu40:
  87. endif
  88.  
  89. if a$=" /40 B" then
  90. gosub blankscr:
  91. goto menu40:
  92. endif
  93.  
  94.  
  95. if a$=" /40 s" then
  96. call ("seefiles.com","/40")
  97. goto menu40:
  98. endif
  99.  
  100. if a$=" /40 S" then
  101. call ("seefiles.com","/40")
  102. goto menu40:
  103. endif
  104.  
  105. if a$=" /40 l" then prfile40:
  106. if a$=" /40 L" then prfile40:
  107.  
  108. rem If no parameters, begin from the beginning.
  109.  
  110. rem Set up and print intro screen.
  111.  
  112.  
  113. cls
  114. print "                               The Manager 2.02"
  115. print
  116. print
  117. print "                                By Matt Roberts"
  118. print "                                5 Cedar St., #8"
  119. print "                           Montpelier, Vt 05602-3006"
  120. print "                                 (802)223-2553"
  121. print
  122. print
  123. print "          If you find the programs on this disk useful, a donation of"
  124. print "                 $5.00 would be greatly appreciated.  Thanks."
  125. print
  126. print
  127. print "           If you're having trouble using this program, you can call"
  128. print "               between 9AM and 9PM (EST), and I'll try to help."
  129. print
  130. print
  131. print
  132. print
  133. print
  134. print
  135. print
  136. print "Press any key to continue. ";
  137. gosub continue:
  138.  
  139. rem Intro screen is now printed.
  140.  
  141. rem Now direct the program to create a menu of options.
  142.  
  143. rem Here is the menu of options.
  144.  
  145. menu:
  146. cls
  147. print "                                 Your Options"
  148. print
  149. print
  150. print "F1- View File Lists.                F10- Work with CONFIG.SYS."
  151. print
  152. print "F2- Read Files.                     <Alt-F1>- Work with AUTOEXEC.BAT."
  153. print
  154. print "F3- Print Files.                    <Alt-F2>- Make Directory."
  155. print
  156. print "F4- Copy Files.                     <Alt-F3>- Remove Directory."
  157. print
  158. print "F5- Move Files.                     <Alt-F4>- Blank Screen."
  159. print
  160. print "F6- Rename Files.                   <Alt-F5>- Check for Graphics Card."
  161. print
  162. print "F7- Delete Files.                   <Alt-F6>- Get Time and/or Date."
  163. print
  164. print "F8- Run Other Programs.             N- Next Menu."
  165. print
  166. print "F9- Shell to DOS.                   Esc- Quit and Return to DOS."
  167. print
  168. print
  169. print "Please press the key corresponding to your choice. ";
  170.  
  171. wait2:
  172. gosub continue:
  173.  
  174. if a$=b$ then
  175. cls
  176. end
  177. endif
  178.  
  179. if a$="n" then menu2:
  180. if a$="N" then menu2:
  181.  
  182. if extended=0 then wait2:
  183.  
  184. if a$=";" then
  185. call ("seefiles.com","")
  186. endif
  187.  
  188. if a$="<" then readfile:
  189. if a$="=" then printfil:
  190. if a$=">" then copyfile:
  191. if a$="?" then movefile:
  192. if a$="@" then renfile:
  193. if a$="A" then killfile:
  194. if a$="B" then runother:
  195. if a$="C" then shelldos:
  196.  
  197. if a$="D" then
  198. call ("config.exe","")
  199. goto menu:
  200. endif
  201.  
  202. if a$="h" then
  203. call ("autoexec.exe","")
  204. goto menu:
  205. endif
  206.  
  207. if a$="i" then makedir:
  208. if a$="j" then removedr:
  209.  
  210. if a$="k" then
  211. gosub blankscr:
  212. goto menu:
  213. endif
  214.  
  215. if a$="l" then chckgrph:
  216. if a$="m" then timedate:
  217. goto wait2:
  218.  
  219. menu2:
  220. cls
  221. print "                                 More Options"
  222. print
  223. print
  224. print "<Alt-F7>- See a list of DOS parameters you can use with The Manager."
  225. print
  226. print "<Alt-F8>- Change to 40-column mode (large text for visually impaired)."
  227. print
  228. print "F- First Menu."
  229. print
  230. print "Esc- Quit and Return to DOS."
  231. print
  232. print
  233. print "Please press the key corresponding to your choice. ";
  234. gosub continue:
  235.  
  236. wait:
  237.  
  238. if a$=b$ then
  239. cls
  240. end
  241. endif
  242.  
  243. if a$="f" then menu:
  244. if a$="F" then menu:
  245. if extended=0 then wait:
  246.  
  247. if a$="n" then help:
  248. if a$="o" then menu40:
  249. goto wait:
  250.  
  251.  
  252.  
  253.  
  254. rem Here is the routine for deleting files.
  255.  
  256. killfile:
  257. cls
  258. print "                                 Delete Files"
  259. print
  260. print
  261. print "Before going any further, you should be aware that, once a file has"
  262. print "been deleted, it is very difficult to retrieve it.  From this program,"
  263. print "it is impossible; I lack the skill to make an undelete feature"
  264. print "available."
  265. print
  266. print
  267. print "Press any key to continue, or Esc to quit. ";
  268.  
  269. wait4:
  270. gosub continue:
  271. if a$=b$ then menu:
  272.  
  273. deletagn:
  274. cls
  275. print "                                 Delete Files"
  276. print
  277. print
  278. spaces$=space$(68)
  279. print spaces$;
  280. color 0,7
  281. print "Esc=Quit"
  282. color 7,0
  283. print "File to delete? ";
  284. gosub retypefi:
  285. print ""
  286. print ""
  287. print ""
  288. print "All the data in ";
  289. print realfile$;
  290. print " will be destroyed."
  291. print
  292. print
  293. print "Press any key to continue, or Esc to quit. ";
  294.  
  295. wait5:
  296. gosub continue:
  297. if a$=b$ then menu:
  298. rekill:
  299. kill file$
  300. if error=2 then nofilekf:
  301. if error=5 then illeglkf:
  302. print ""
  303. print ""
  304. print realfile$;
  305. print " has been deleted."
  306. file$=""
  307. print
  308. print "Delete another? (y/n) ";
  309.  
  310. wait6:
  311. gosub continue:
  312. if a$="y" then deletagn:
  313. if a$="Y" then deletagn:
  314. if a$="n" then menu:
  315. if a$="N" then menu:
  316. goto wait6:
  317.  
  318. rem This is the end of the routine for deleting files.
  319.  
  320.  
  321.  
  322. rem Here is the routine for making a directory.
  323.  
  324. makedir:
  325. cls
  326. print "                               Make a Directory"
  327. print
  328. print
  329. spaces$=space$(68)
  330. print spaces$;
  331. color 0,7
  332. print "Esc=Quit"
  333. color 7,0
  334. print "Type directory name (include drive and path). ";
  335. gosub retypefi:
  336. directory$=file$
  337.  
  338. remakedr:
  339. mkdir directory$
  340. if error=3 then nopathmd:
  341. if error=5 then illeglmd:
  342. print ""
  343. print ""
  344. realdir$=ucase$(directory$)
  345. print "You have created directory: ";
  346. print realdir$
  347. directory$=""
  348. print
  349. print
  350. print "Would you like to make another directory? (y/n) ";
  351.  
  352. wait7:
  353. gosub continue:
  354. if a$="y" then makedir:
  355. if a$="Y" then makedir:
  356. if a$="n" then menu:
  357. if a$="N" then menu:
  358. goto wait7:
  359.  
  360. rem This is the end of the routine for making directories.
  361.  
  362.  
  363.  
  364. rem Here is the routine for renaming files.
  365.  
  366. renfile:
  367. cls
  368. print "                                 Rename Files"
  369. print
  370. print
  371. spaces$=space$(68)
  372. print spaces$;
  373. color 0,7
  374. print "Esc=Quit"
  375. color 7,0
  376. print "Name of file to change (include drive and path)? ";
  377. gosub retypefi:
  378. file1$=file$
  379. realfile1$=ucase$(file1$)
  380.  
  381. dofile2:
  382. print ""
  383. print ""
  384. print ""
  385. print "New name for ";
  386. print realfil1$;
  387. print "? ";
  388. file$=""
  389. gosub retypefi:
  390.  
  391. file2$=file$
  392. realfil2$=ucase$(file2$)
  393.  
  394. refile:
  395. name file1$ as file2$
  396. if error=2 then nofilerf:
  397. if error=3 then nopathrf:
  398. if error=5 then illeglrf:
  399. if error=17 then diffdrrf:
  400. print ""
  401. print ""
  402. print realfil1$;
  403. print " has been renamed ";
  404. print realfil2$;
  405. print "."
  406. file1$=""
  407. file2$=""
  408. print
  409. print "Rename another? (y/n) ";
  410.  
  411. wait8:
  412. gosub continue:
  413. if a$="y" then renfile:
  414. if a$="Y" then renfile:
  415. if a$="n" then menu:
  416. if a$="N" then menu:
  417. goto wait8:
  418.  
  419.  
  420. rem This is the end of the routine for renaming files.
  421.  
  422.  
  423.  
  424. rem Here is the routine for getting the time and/or date.
  425.  
  426.  
  427. timedate:
  428.  
  429. cls
  430. print "                             Get Time and/or Date."
  431. print
  432. print
  433. print "Here are your options:"
  434. print
  435. print
  436. print "F1- Get the time."
  437. print
  438. print "F2- Get the date."
  439. print
  440. print "F3- Get Both."
  441. print
  442. print "Esc- Return to the Main Options Menu."
  443. print
  444. print
  445. print
  446. print "Please press the key corresponding to your choice. ";
  447.  
  448. wait20:
  449. gosub continue:
  450. if a$=b$ then menu:
  451. if extended=0 then wait20:
  452.  
  453. if a$=";" then gettime:
  454. if a$="<" then getdate:
  455. if a$="=" then getboth:
  456. goto wait20:
  457.  
  458. gettime:
  459.  
  460. cls
  461. print "                                 Get the Time."
  462. print
  463. print
  464. print "In order for this feature to work, the time in your computer must be"
  465. print "set properly, either manually or with the Real-Time-Clock."
  466. print
  467. print
  468. print
  469. print
  470. print
  471.  
  472. a$=time$
  473. f$=mid$(a$,1,2)
  474. d=val(f$)
  475.  
  476. if d>12 then
  477. d=d-12
  478. h$=" PM"
  479. else
  480. h$=" AM"
  481. endif
  482.  
  483. if d=12 then 
  484. h$=" PM"
  485. endif
  486.  
  487. e=d
  488. g$=str$(e)
  489. i$=mid$(a$,3,6)
  490. j$=g$+i$
  491. k$=ltrim$(j$)
  492. print "The time is now: ";
  493. print k$;
  494. print h$
  495. print
  496. print
  497. print "Press any key to continue. ";
  498. gosub continue:
  499. goto timedate:
  500.  
  501. getdate:
  502.  
  503. cls
  504. print "                                 Get the Date"
  505. print
  506. print
  507. print "In order for this feature to work properly, the date in your computer"
  508. print "must be set properly.  If it isn't, you may get a weird date."
  509. print
  510. print
  511. print
  512. print
  513. print
  514. a$=date$
  515. print "Today's date is ";
  516. print a$
  517. print
  518. print
  519. print "Press any key to continue. ";
  520. gosub continue:
  521. goto timedate:
  522.  
  523. getboth:
  524.  
  525. cls
  526. print "                                   Get Both"
  527. print
  528. print
  529. print "In order for this feature to work, both your time and date must be set"
  530. print "properly.  If they aren't, you may get some weird answers.  If you"
  531. print "have problems, check your manual to find out how to set the time and"
  532. print "date from DOS."
  533. print
  534. print
  535. print
  536. print
  537. print
  538. a$=time$
  539. f$=mid$(a$,1,2)
  540. d=val(f$)
  541.  
  542. if d>12 then
  543. d=d-12
  544. h$=" PM"
  545. else
  546. h$=" AM"
  547. endif
  548.  
  549. if d=12 then
  550. h$=" PM"
  551. endif
  552.  
  553. e=d
  554. g$=str$(e)
  555. i$=mid$(a$,3,6)
  556. j$=g$+i$
  557. k$=ltrim$(j$)
  558. print "The time is now: ";
  559. print k$;
  560. print h$
  561. print
  562. print
  563. f$=date$
  564. print "Today's date is ";
  565. print f$
  566. print
  567. print
  568. print "Press any key to continue. ";
  569. gosub continue:
  570. goto timedate:
  571.  
  572.  
  573. rem This is the end of the routine for getting the time and/or date.
  574.  
  575.  
  576.  
  577. rem Here is the routine for shelling to DOS.
  578.  
  579. shelldos:
  580.  
  581. cls
  582. print "                                 Shell to DOS"
  583. print
  584. print
  585. print "On which drive is your COMMAND.COM (don't type the colon)? ";
  586.  
  587. wait9:
  588. gosub continue:
  589. print a$
  590. path$=a$+":\command.com"
  591. cls
  592. print "Use the DOS command EXIT to return to The Manager."
  593. print
  594. call path$,""
  595. if error=255 then nocall:
  596. goto menu:
  597.  
  598. rem This is the end of the routine for shelling to DOS.
  599.  
  600.  
  601.  
  602. rem Here is the routine for blanking your screen.
  603.  
  604. blankscr:
  605. cls
  606. locate 81,81
  607. gosub continue:
  608. return
  609.  
  610. rem This is the end of the routine for blanking your screen.
  611.  
  612.  
  613.  
  614. rem Here is the routine for checking for a graphics card.
  615.  
  616. chckgrph:
  617. cls
  618. print "                         Check for a Graphics Adaptor"
  619. print
  620. print
  621. print "This program only has the ability to check whether or not you have a"
  622. print "graphics adapter.  It can't tell you what kind of adapter you have"
  623. print "at this time."
  624. print
  625. print
  626. print
  627. d=zmode
  628. if d=1 then graphics: else nogrphcs:
  629.  
  630. graphics:
  631. print "You have a graphics adapter installed."
  632. print
  633. print
  634. print "Press any key to continue. ";
  635. gosub continue:
  636. goto menu:
  637.  
  638. nogrphcs:
  639. print "There is no graphics adapter installed.  However, you may be able to"
  640. print "access special line-drawing characters for making menus, as well as"
  641. print "some other characters (such as smiley faces).  Check your DOS or word"
  642. print "processing manual for details."
  643. print
  644. print
  645. print "Press any key to continue. ";
  646. gosub continue:
  647. goto menu:
  648.  
  649. rem This is the end of the routine for checking for a graphics card.
  650.  
  651.  
  652.  
  653. rem Here are the screens for accessing MANAGER from DOS with parameters 
  654. rem (80 columns).
  655.  
  656. help:
  657. cls
  658. print "You can use arguments with The Manager if you wish; they may help"
  659. print "save you time."
  660. print
  661. print
  662. print "Just typing MANAGER at the DOS prompt will start The Manager from" 
  663. print "the beginning; you can choose your options from the menu."
  664. print
  665. print "Typing MANAGER /? gives you this help screen."
  666. print
  667. print "Typing MANAGER /d moves you directly to the Delete Files option."
  668. print
  669. print "Typing MANAGER /m moves you directly to the Make Directory option."
  670. print
  671. print "Typing MANAGER /n moves you directly to the Rename Files option."
  672. print
  673. print "Typing MANAGER /g moves you directly to the Get Date option."
  674. print
  675. print "Typing MANAGER /b blanks your screen."
  676. print
  677. print "Typing MANAGER /p checks for a graphics adaptor."
  678. print
  679. print
  680. print "Press any key to continue. ";
  681. gosub continue:
  682. cls
  683. print "Typing MANAGER /s lets you see a list of disk files."
  684. print
  685. print "Typing MANAGER /v lets you view the text file of your choice, on the"
  686. print "screen."
  687. print
  688. print "Typing MANAGER /l lets you print a file on the lineprinter."
  689. print
  690. print
  691. print "Upper or lower case makes no difference."
  692. print
  693. print
  694. print "Do you want to ";
  695. color 0,15
  696. print "C";
  697. color 7,0
  698. print "ontinue with The Manager or Return to ";
  699. color 0,15
  700. print "D";
  701. color 7,0
  702. print "OS? ";
  703. print
  704. print
  705. print "Please press the key corresponding to your choice. ";
  706.  
  707. wait11:
  708. gosub continue:
  709. if a$="c" then menu:
  710. if a$="C" then menu:
  711.  
  712. if a$="d" then
  713. cls
  714. end
  715. endif
  716.  
  717. if a$="D" then
  718. cls
  719. end
  720. endif
  721.  
  722. goto wait11:
  723.  
  724. rem This is the end of the routine for the list of DOS parameters.
  725.  
  726.  
  727. rem Here is the routine for reading a file.
  728.  
  729. readfile:
  730. cls
  731. print "                                  Read a File"
  732. print
  733. print
  734. spaces$=space$(68)
  735. print spaces$;
  736. color 0,7
  737. print "Esc=Quit"
  738. color 7,0
  739. print "Please type the name of the file you want to read."
  740. print "Include drive and path. ";
  741. gosub retypefi:
  742. print ""
  743. print ""
  744. print "To pause the scrolling, press the space bar.  To quit, press Esc."
  745. print
  746. print
  747. print "While the file should be readable, formatting may not be quite"
  748. print "correct."
  749. print
  750. print
  751. print "Press any key to continue. ";
  752. gosub continue:
  753. a$=""
  754.  
  755. cls
  756.  
  757. reread:
  758. open "i",1,file$
  759.  
  760. if error=2 then
  761. gosub nofilerd:
  762. goto reread:
  763. endif
  764.  
  765. if error=3 then nopathrd:
  766.  
  767. readmore:
  768. input# 1, line$ crlf
  769.  
  770. if error=96 then
  771. print line$
  772. line=line+1
  773. if line=23 then
  774. print "Press any key to continue. ";
  775. gosub continue:
  776. print
  777. print
  778. line=0
  779. cls
  780. endif
  781. gosub blanklnr:
  782. endif
  783.  
  784. line=line+1
  785.  
  786. if line=23 then
  787. print ""
  788. print "Press any key to continue. ";
  789. gosub continue:
  790. print
  791. print
  792.  
  793. if a$=b$ then
  794. line=0
  795. file$=""
  796. close 1
  797. print
  798. print
  799. print "Do you want to view another file? (y/n) ";
  800. goto wait56:
  801. endif
  802.  
  803. line=0
  804. cls
  805. endif
  806.  
  807. print line$
  808.  
  809. a$=inkey$
  810. if a$=e$ then
  811. print "Press any key to continue. ";
  812. gosub continue:
  813. print
  814. print
  815. endif
  816.  
  817. if a$=b$ then
  818. file$=""
  819. line=0
  820. close 1
  821. print
  822. print
  823. print "Do you want to view another file? (y/n) ";
  824. goto wait56:
  825. endif
  826.  
  827. if error=99 then eof:
  828. goto readmore:
  829.  
  830. blanklnr:
  831. input# 1, line$ crlf
  832. if line$="" then readmore:
  833. return
  834.  
  835. eof:
  836. print line$
  837. print "Press any key to continue. ";
  838. gosub continue:
  839. print
  840. print
  841. line=0
  842. file$=""
  843. close 1
  844. print
  845. print
  846. print "Do you want to view another file? (y/n) ";
  847.  
  848. wait56:
  849. gosub continue:
  850. if a$="y" then readfile:
  851. if a$="Y" then readfile:
  852. if a$="n" then menu:
  853. if a$="N" then menu:
  854. goto wait56:
  855.  
  856. rem This is the end of the routine for reading text files.
  857.  
  858.  
  859. rem Here is the routine for printing text files.
  860.  
  861. printfil:
  862.  
  863. cls
  864. print "                                 Print a File"
  865. print
  866. print
  867. spaces$=space$(68)
  868. print spaces$;
  869. color 0,7
  870. print "Esc=Quit"
  871. color 7,0
  872. print "Please type the name of the file you want to print."
  873. print
  874. print "Include the drive and path. ";
  875. gosub retypefi:
  876.  
  877. doprintf:
  878. f$=chr$(12)
  879. open "i",1,file$
  880.  
  881. if error=2 then
  882. gosub nofilerd:
  883. goto doprintf:
  884. endif
  885.  
  886. if error=3 then nopathpr:
  887.  
  888. heading:
  889. cls
  890. print "Printing...";
  891. realfile$=ucase$(file$)
  892. color 0,7
  893. print realfile$
  894. color 7,0
  895. print
  896. print
  897. print "Press space bar to pause printing, or Esc to quit."
  898. print
  899. print
  900.  
  901. printmor:
  902. input# 1, line$ crlf
  903.  
  904. if error=96 then
  905. lprint line$
  906. goto blanklin:
  907. endif
  908.  
  909. contlprn:
  910. lprint line$
  911.  
  912. a$=inkey$
  913.  
  914. if a$=b$ then
  915. print "Printing has been terminated.  The printer may still have data in its"
  916. print "buffer.  If so, it will continue printing until the buffer is empty."
  917. lprint f$
  918. close 1
  919. file$=""
  920. print
  921. print
  922. print "Print another file? (y/n) ";
  923. goto wait13:
  924. endif
  925.  
  926. if a$=e$ then
  927. print "Press any key to resume printing. ";
  928. gosub continue:
  929. endif
  930.  
  931. if error=99 then eofp:
  932. goto printmor:
  933.  
  934. blanklin:
  935. input# 1, line$ crlf
  936. if line$="" then printmor: else contlprn:
  937.  
  938. eofp:
  939. lprint line$
  940. print "Finished."
  941. close 1
  942. lprint f$
  943. file$=""
  944. print
  945. print
  946. print "Print another file? (y/n) ";
  947.  
  948. wait13:
  949. gosub continue:
  950. if a$="y" then printfil:
  951. if a$="Y" then printfil:
  952. if a$="n" then menu:
  953. if a$="N" then menu:
  954. goto wait13:
  955.  
  956.  
  957. rem This is the end of the routine for printing text files.
  958.  
  959.  
  960. rem Here is the routine for running other programs.
  961.  
  962. runother:
  963. cls
  964. spaces$=space$(68)
  965. print spaces$;
  966. color 0,7
  967. print "Esc=Quit"
  968. color 7,0
  969. print
  970. print "Please type the full name of the program you want to run (for example,"
  971. print "MYPROGRM.COM).  Include the drive and path."
  972.  
  973. gosub retypefi:
  974.  
  975. print ""
  976. print "You can specify an argument to your program, but it must be one phrase"
  977. print "(no spaces).  Do you want to specify an argument (y/n)";
  978.  
  979. wait25:
  980. gosub continue:
  981. if a$="y" then getargum:
  982. if a$="Y" then getargum:
  983.  
  984. if a$="n" then
  985. argument$=""
  986. goto dorunoth:
  987. endif
  988.  
  989. if a$="N" then
  990. argument$=""
  991. goto dorunoth:
  992. endif
  993.  
  994. goto wait25:
  995.  
  996. getargum:
  997. cls
  998. spaces$=space$(68)
  999. print spaces$;
  1000. color 0,7
  1001. print "Esc=Quit"
  1002. color 7,0
  1003. print
  1004. print "Please type the argument you'd like to use.  It can only be one phrase"
  1005. print "and cannot contain any spaces. ";
  1006.  
  1007. dorunoth:
  1008. argument$=file$
  1009. argument$=e$+argument$
  1010. call file$,argument$
  1011. file$=""
  1012. argument$=""
  1013. cls
  1014. print "Would you like to run another program (y/n)? ";
  1015.  
  1016. wait30:
  1017. gosub continue:
  1018. if a$="y" then runother:
  1019. if a$="Y" then runother:
  1020. if a$="n" then menu:
  1021. if a$="N" then menu:
  1022. goto wait30:
  1023.  
  1024. rem This is the end of the routine for running other programs.
  1025.  
  1026.  
  1027. rem Here is the routine for removing directories.
  1028.  
  1029. removedr:
  1030. cls
  1031. print "                              Remove Directories"
  1032. print
  1033. print
  1034. spaces$=space$(68)
  1035. print spaces$;
  1036. color 0,7
  1037. print "Esc=Quit"
  1038. color 7,0
  1039. print
  1040. print "Before you can remove a directory, you must remove all files in that"
  1041. print "directory, and in its subdirectories.  You must then remove all sub-"
  1042. print "directories."
  1043. print
  1044. print
  1045.  
  1046. removagn:
  1047. print "Please type the name of the directory you'd like to remove.  Include"
  1048. print "the drive and path. ";
  1049. gosub retypefi:
  1050. directory$=file$
  1051.  
  1052. reremove:
  1053. rmdir directory$
  1054. realfile$=ucase$(directory$)
  1055. print ""
  1056. print ""
  1057. print realfile$;
  1058. print " has been removed."
  1059. print ""
  1060. print ""
  1061. print "Would you like to remove another directory? ";
  1062.  
  1063. wait40:
  1064. gosub continue:
  1065. if a$="y" then removagn:
  1066. if a$="Y" then removagn:
  1067. if a$="n" then menu:
  1068. if a$="N" then menu:
  1069. goto wait40:
  1070.  
  1071. rem This is the end of the routine for removing directories.
  1072.  
  1073.  
  1074. rem Here is the routine for copying text files.
  1075.  
  1076. copyfile:
  1077. cls
  1078. print "                                   Copy File"
  1079. print
  1080. print
  1081. print "*****PLEASE NOTE***** Only text files will copy properly using this"
  1082. print "method.  Files with an extension of .EXE, .COM, or which contain other"
  1083. print "special characters will usually not copy properly."
  1084. print
  1085. print "Press any key to continue. ";
  1086. gosub continue:
  1087.  
  1088. copymore:
  1089. cls
  1090. spaces$=space$(68)
  1091. print spaces$;
  1092. color 0,7
  1093. print "Esc=Quit"
  1094. color 7,0
  1095. print
  1096. print "File to copy (include drive and path)? ";
  1097. gosub retypefi:
  1098. file1$=file$
  1099. file$=""
  1100. realfil1$=ucase$(file1$)
  1101.  
  1102. print ""
  1103. print "Destination (include drive and path)? ";
  1104. gosub retypefi:
  1105. file2$=file$
  1106. realfil2$=ucase$(file2$)
  1107.  
  1108. open "i",1,file1$
  1109. open "o",2,file2$
  1110.  
  1111. wait3:
  1112. input # 1, line$ crlf
  1113. if error=99 then copydone:
  1114.  
  1115. if error=96 then
  1116. print # 2, line$ nonull
  1117. input # 1, line$ crlf
  1118. if line$="" then
  1119. print # 2, crlf$ nonull
  1120. goto wait3:
  1121. endif
  1122. endif
  1123.  
  1124. print # 2, line$ nonull
  1125. print # 2, crlf$ nonull
  1126. goto wait3:
  1127.  
  1128. copydone:
  1129. close 1
  1130. close 2
  1131. print ""
  1132. print ""
  1133. print realfil1$;
  1134. print " has been copied to ";
  1135. print realfil2$;
  1136. print "."
  1137. print
  1138. print "Copy another? ";
  1139.  
  1140. wait46:
  1141. gosub continue:
  1142. if a$="y" then copymore:
  1143. if a$="Y" then copymore:
  1144. if a$="n" then menu2:
  1145. if a$="N" then menu2:
  1146. goto wait46:
  1147.  
  1148. rem This is the end of the routine for copying a text file.
  1149.  
  1150.  
  1151. rem Here is the routine for moving text files.
  1152.  
  1153. movefile:
  1154. cls
  1155. print "                                   Move File"
  1156. print
  1157. print
  1158. print "*****PLEASE NOTE***** Only text files will move properly using this"
  1159. print "method.  Files with an extension of .EXE, .COM, or which contain other"
  1160. print "special characters will usually not move properly.  In addition, this"
  1161. print "option is destructive, destroying the original file.  You are urged"
  1162. print "to make backups before attempting any procedure which can change a"
  1163. print "file."
  1164. print
  1165. print "Press Esc to quit, or any other key to continue. ";
  1166. gosub continue:
  1167. if a$=b$ then menu2:
  1168.  
  1169. movemore:
  1170. cls
  1171. spaces$=space$(68)
  1172. print spaces$;
  1173. color 0,7
  1174. print "Esc=Quit"
  1175. color 7,0
  1176. print "File to copy (include drive and path)? ";
  1177. gosub retypefi:
  1178. file1$=file$
  1179. realfil1$=ucase$(file1$)
  1180. file$=""
  1181.  
  1182. print ""
  1183. print "Destination (include drive and path)? ";
  1184. gosub retypefi:
  1185. file2$=file$
  1186. realfil2$=ucase$(file2$)
  1187. file$=""
  1188.  
  1189. domove:
  1190. open "i",1,file1$
  1191. open "o",2,file2$
  1192.  
  1193. wait26:
  1194. input # 1, line$ crlf
  1195. if error=99 then movedone:
  1196.  
  1197. if error=96 then
  1198. print # 2, line$ nonull
  1199. input # 1, line$ crlf
  1200. if line$="" then
  1201. print # 2, crlf$ nonull
  1202. goto wait26:
  1203. endif
  1204. endif
  1205.  
  1206. print # 2, line$ nonull
  1207. print # 2, crlf$ nonull
  1208. goto wait26:
  1209.  
  1210. movedone:
  1211. close 1
  1212. close 2
  1213. kill file1$
  1214. print ""
  1215. print ""
  1216. print realfil1$;
  1217. print " has been moved to ";
  1218. print realfil2$;
  1219. print "."
  1220. print
  1221. print "Move another? ";
  1222.  
  1223. wait29:
  1224. gosub continue:
  1225. if a$="y" then movemore:
  1226. if a$="Y" then movemore:
  1227. if a$="n" then menu2:
  1228. if a$="N" then menu2:
  1229. goto wait29:
  1230.  
  1231. rem This is the end of the routine for moving a file.
  1232.  
  1233.  
  1234. rem Here is the routine for typing in files in 80-column mode.
  1235.  
  1236. retypefi:
  1237. gosub continue:
  1238.  
  1239. if a$=b$ then
  1240. file$=""
  1241. file1$=""
  1242. file2$=""
  1243. goto menu:
  1244. endif
  1245.  
  1246. if a$=c$ then
  1247. return
  1248. endif
  1249.  
  1250. gosub cursor:
  1251.  
  1252. if a$=d$ then
  1253. locate a,c
  1254. print e$;
  1255. locate a,c
  1256. d=len(file$)
  1257. e=d-1
  1258. file$=mid$(file$,1,e)
  1259. if e<0 then
  1260. e=0
  1261. c=c+1
  1262. locate a,c
  1263. endif
  1264. if b=0 then
  1265. a=a-1
  1266. b=79
  1267. locate a,b
  1268. print e$;
  1269. locate a,b
  1270. endif
  1271. goto retypefi:
  1272. endif
  1273.  
  1274. print a$;
  1275. file$=file$+a$
  1276. realfile$=ucase$(file$)
  1277. goto retypefi:
  1278.  
  1279. rem This is the end of the routine for typing in files in 80-column mode.
  1280.  
  1281.  
  1282. rem Here is the routine for typing in files in 40-column mode.
  1283.  
  1284. retypf40:
  1285. gosub continue:
  1286.  
  1287. if a$=b$ then
  1288. file$=""
  1289. file1$=""
  1290. file2$=""
  1291. goto menu40:
  1292. endif
  1293.  
  1294. if a$=c$ then
  1295. return
  1296. endif
  1297.  
  1298. gosub cursor:
  1299.  
  1300. if a$=d$ then
  1301. locate a,c
  1302. print e$;
  1303. locate a,c
  1304. d=len(file$)
  1305. e=d-1
  1306. file$=mid$(file$,1,e)
  1307. if e<0 then
  1308. e=0
  1309. c=c+1
  1310. locate a,c
  1311. endif
  1312. if b=0 then
  1313. a=a-1
  1314. b=38
  1315. locate a,b
  1316. print e$;
  1317. locate a,b
  1318. endif
  1319. goto retypf40:
  1320. endif
  1321.  
  1322. print a$;
  1323. file$=file$+a$
  1324. goto retypf40:
  1325.  
  1326. rem This is the end of the routine for typing in files in 40-column mode.
  1327.  
  1328.  
  1329. rem Here is the routine for continuing when the user presses a key.
  1330.  
  1331. continue:
  1332. a$=inkey$
  1333. if a$="" then continue:
  1334. return
  1335.  
  1336. rem This is the end of the routine for continuing when the user presses a key.
  1337.  
  1338.  
  1339. rem Here is the subroutine for initializing row/column position of cursor.
  1340.  
  1341. cursor:
  1342. a=csrlin
  1343. b=pos(0)
  1344. c=b-1
  1345. return
  1346.  
  1347. rem This is the end of the routine for initializing cursor position.
  1348.  
  1349.  
  1350. rem Here is the routine for generating 40-column width for visually impaired
  1351. rem people.
  1352. rem In order to make certain the screen writes are readable, the entire program 
  1353. rem is essentially rewritten in this module.
  1354.  
  1355. menu40:
  1356. width 40
  1357. print "Your Options:"
  1358. print
  1359. print
  1360. print "F1- View Your Files."
  1361. print
  1362. print "F2- Delete Files."
  1363. print
  1364. print "F3- Make a directory."
  1365. print
  1366. print "F4- Rename Files."
  1367. print
  1368. print "F5- Get the Time/Date."
  1369. print
  1370. print "F6- Shell to DOS."
  1371. print
  1372. print "F7- Blank Your Screen."
  1373. print
  1374. print "F8- Next menu."
  1375. print
  1376. print "Esc- Quit."
  1377. print
  1378. print
  1379. print "Please press the key corresponding to"
  1380. print "your choice. ";
  1381.  
  1382. wait12:
  1383. gosub continue:
  1384.  
  1385. if a$=b$ then
  1386. cls
  1387. end
  1388. endif
  1389.  
  1390. if extended=0 then wait12:
  1391.  
  1392. if a$=";" then
  1393. call ("seefiles.com","/40")
  1394. endif
  1395.  
  1396. if a$="<" then killfl40:
  1397. if a$="=" then makedr40:
  1398. if a$=">" then renfil40:
  1399. if a$="?" then timedt40:
  1400. if a$="@" then shell40:
  1401.  
  1402. if a$="A" then
  1403. gosub blankscr:
  1404. endif
  1405.  
  1406. if a$="B" then 2dmenu40:
  1407. goto wait12:
  1408.  
  1409. 2dmenu40:
  1410. cls
  1411. print "Here are your remaining options:"
  1412. print
  1413. print
  1414. print "F1- Change to 80-column mode."
  1415. print
  1416. print "F2- Print file."
  1417. print
  1418. print "F3- Return to the first menu."
  1419. print
  1420. print "F4- See a list of parameters you can"
  1421. print "use from DOS."
  1422. print
  1423. print "Esc- Quit."
  1424. print
  1425. print
  1426. print "Please press the key corresponding to"
  1427. print "your choice. ";
  1428.  
  1429. wait58:
  1430. gosub continue:
  1431.  
  1432. if a$=b$ then
  1433. cls
  1434. end
  1435. endif
  1436.  
  1437. if extended=0 then wait58:
  1438.  
  1439. if a$=";" then
  1440. width 80
  1441. goto menu:
  1442. endif
  1443.  
  1444. if a$="<" then prfile40:
  1445. if a$="=" then menu40:
  1446. if a$=">" then help40:
  1447. goto wait58:
  1448.  
  1449.  
  1450. rem Here is the routine for deleting files in 40-column mode.
  1451.  
  1452. killfl40:
  1453. width 40
  1454. print "Delete Files"
  1455. print
  1456. print
  1457. print "Before going any further, you should"
  1458. print "be aware that, once a file has been"
  1459. print "deleted, it is very difficult to"
  1460. print "retrieve it.  From this program, it is"
  1461. print "impossible; I lack the skill to make"
  1462. print "an undelete feature available."
  1463. print
  1464. print
  1465. print "Press any key to continue, or Esc to"
  1466. print "quit. ";
  1467.  
  1468. gosub continue:
  1469. if a$=b$ then menu40:
  1470.  
  1471. delagn40:
  1472. cls
  1473. print "Delete Files"
  1474. print
  1475. print
  1476. spaces$=space$(30)
  1477. print spaces$;
  1478. color 0,7
  1479. print "Esc=Quit"
  1480. color 7,0
  1481. print "File to delete? ";
  1482. gosub retypf40:
  1483. realfile$=ucase$(file$)
  1484.  
  1485. print ""
  1486. print ""
  1487. print ""
  1488. print "All the data in ";
  1489. print realfile$;
  1490. print " will be de-"
  1491. print "stroyed."
  1492. print
  1493. print
  1494. print "Press any key to continue, or Esc to"
  1495. print "quit. ";
  1496.  
  1497. gosub continue:
  1498. if a$=b$ then menu40:
  1499.  
  1500. rekill40:
  1501. kill file$
  1502. if error=2 then noflkf40:
  1503. if error=5 then ilglkf40:
  1504. print ""
  1505. print ""
  1506. print realfile$;
  1507. print " has been deleted."
  1508. file$=""
  1509. print
  1510. print "Delete another? (y/n) ";
  1511.  
  1512. wait15:
  1513. gosub continue:
  1514. if a$="y" then delagn40:
  1515. if a$="Y" then delagn40:
  1516. if a$="n" then menu40:
  1517. if a$="N" then menu40:
  1518. goto wait15:
  1519.  
  1520. rem This is the end of the routine for deleting files in 40-column mode.
  1521.  
  1522.  
  1523.  
  1524. rem Here is the routine for making a directory in 40-column mode.
  1525.  
  1526. makedr40:
  1527. width 40
  1528. print "Make a Directory"
  1529. print
  1530. print
  1531. spaces$=space$(30)
  1532. print spaces$;
  1533. color 0,7
  1534. print "Esc=Quit"
  1535. color 7,0
  1536. print "Directory name (include drive and"
  1537. print "path)? ";
  1538. gosub retypf40:
  1539. directory$=file$
  1540. realdir$=ucase$(directory$)
  1541.  
  1542. remake40:
  1543. mkdir directory$
  1544. if error=3 then nopthm40:
  1545. if error=5 then ilglmd40:
  1546. print ""
  1547. print ""
  1548. print "You have created directory: "
  1549. print
  1550. print realdir$
  1551. directory$=""
  1552. print
  1553. print
  1554. print "Would you like to make another"
  1555. print "directory? (y/n) ";
  1556.  
  1557. wait16:
  1558. gosub continue:
  1559. if a$="y" then makedr40:
  1560. if a$="Y" then makedr40:
  1561. if a$="n" then menu40:
  1562. if a$="N" then menu40:
  1563. goto wait16:
  1564.  
  1565. rem This is the end of the routine for making directories in 40-column mode.
  1566.  
  1567.  
  1568.  
  1569. rem Here is the routine for renaming files in 40-column mode.
  1570.  
  1571. renfil40:
  1572. width 40
  1573. print "Rename Files."
  1574. print
  1575. print
  1576. spaces$=space$(30)
  1577. print spaces$;
  1578. color 0,7
  1579. print "Esc=Quit"
  1580. color 7,0
  1581. print "Name of file to change (include drive"
  1582. print "and path)? ";
  1583. gosub retypf40:
  1584. file1$=file$
  1585. realfil1$=ucase$(file1$)
  1586.  
  1587. print ""
  1588. print ""
  1589. print "New name for ";
  1590. print file1$;
  1591. print "? "
  1592. print
  1593. file$=""
  1594. gosub retypf40:
  1595. file2$=file$
  1596. realfil2$=ucase$(file2$)
  1597.  
  1598. refile40:
  1599. name file1$ as file2$
  1600. if error=2 then noflrf40:
  1601. if error=3 then nopthr40:
  1602. if error=5 then ilglrf40:
  1603. if error=17 then difdrr40:
  1604. print ""
  1605. print ""
  1606. print realfil1$;
  1607. print " has been renamed"
  1608. print realfil2$
  1609. file1$=""
  1610. file2$=""
  1611. print
  1612. print "Rename another? (y/n) ";
  1613.  
  1614. wait17:
  1615. gosub continue:
  1616. if a$="y" then renfil40:
  1617. if a$="Y" then renfil40:
  1618. if a$="n" then menu40:
  1619. if a$="N" then menu40:
  1620. goto wait17:
  1621.  
  1622. rem This is the end of the routine for renaming files in 40-column mode.
  1623.  
  1624.  
  1625.  
  1626. rem Here is the routine for getting the time/date in 40-column mode.
  1627.  
  1628. timedt40:
  1629.  
  1630. width 40
  1631. print "Here are your options:"
  1632. print
  1633. print
  1634. print "F1- Get the time."
  1635. print
  1636. print "F2- Get the date."
  1637. print
  1638. print "F3- Get both."
  1639. print
  1640. print "Esc- Return to the Main Options Menu."
  1641. print
  1642. print
  1643. print "Please press the key corresponding to"
  1644. print "your choice. ";
  1645.  
  1646. wait44:
  1647. gosub continue:
  1648. if a$=b$ then menu40:
  1649. if extended=0 then wait44:
  1650.  
  1651. if a$=";" then gettim40:
  1652. if a$="<" then getdat40:
  1653. if a$="=" then getbth40:
  1654. goto wait44:
  1655.  
  1656. gettim40:
  1657. cls
  1658. print "Get the Time"
  1659. print
  1660. print
  1661. print "In order to get the correct date, the"
  1662. print "computer's internal clock must be set"
  1663. print "correctly."
  1664. print
  1665. print
  1666.  
  1667. a$=time$
  1668. f$=mid$(a$,1,2)
  1669. d=val(f$)
  1670.  
  1671. if d>12 then
  1672. d=d-12
  1673. h$=" PM"
  1674. else
  1675. h$=" AM"
  1676. endif
  1677.  
  1678. if d=12 then
  1679. h$=" PM"
  1680. endif
  1681.  
  1682. e=d
  1683. g$=str$(e)
  1684. i$=mid$(a$,3,6)
  1685. j$=g$+i$
  1686. k$=ltrim$(j$)
  1687. print "The time is now: ";
  1688. print k$;
  1689. print h$
  1690. print
  1691. print
  1692. print "Press any key to continue. ";
  1693. gosub continue:
  1694. goto timedt40:
  1695.  
  1696. getdat40:
  1697.  
  1698. width 40
  1699. print "Get the Date"
  1700. print
  1701. print
  1702. print "In order for this feature to work"
  1703. print "properly, the date in your computer"
  1704. print "must be set properly.  If it isn't,"
  1705. print "you may get a weird date."
  1706. print
  1707. print
  1708. print
  1709. print
  1710. print
  1711. a$=date$
  1712. print "Today's date is ";
  1713. print a$
  1714. print
  1715. print
  1716. print "Press any key to continue. ";
  1717. gosub continue:
  1718. goto timedt40:
  1719.  
  1720. getbth40:
  1721. cls
  1722. print "Get Both"
  1723. print
  1724. print
  1725. print "In order to get the correct time and"
  1726. print "date, the clock and calendar have to"
  1727. print "be set properly."
  1728. print
  1729. print
  1730. a$=time$
  1731. f$=mid$(a$,1,2)
  1732. d=val(f$)
  1733.  
  1734. if d>12 then
  1735. d=d-12
  1736. h$=" PM"
  1737. else
  1738. h$=" AM"
  1739. endif
  1740.  
  1741. if d=12 then
  1742. h$=" PM"
  1743. endif
  1744.  
  1745. e=d
  1746. g$=str$(e)
  1747. i$=mid$(a$,3,6)
  1748. j$=g$+i$
  1749. k$=ltrim$(j$)
  1750. print "The time is now: ";
  1751. print k$;
  1752. print h$
  1753. print
  1754. print
  1755.  
  1756. a$=date$
  1757. print "Today's date is: ";
  1758. print a$
  1759. print
  1760. print
  1761. print "Press any key to continue. ";
  1762. gosub continue:
  1763. goto timedt40:
  1764.  
  1765. rem This is the end of the routine for getting the time and/or date (40-
  1766. rem columns).
  1767.  
  1768.  
  1769.  
  1770. rem Here is the routine for shelling to DOS in 40-column mode.
  1771.  
  1772. shell40:
  1773. cls
  1774. print "Shell to DOS"
  1775. print
  1776. print
  1777. print "On which drive is your COMMAND.COM?"
  1778. print "(Don't type the colon) ";
  1779.  
  1780. gosub continue:
  1781. path$=a$+":\command.com"
  1782. cls
  1783. print "Use the DOS command EXIT to return to"
  1784. print "The Manager."
  1785. call path$,""
  1786. if error=255 then nocall40:
  1787. goto menu40:
  1788.  
  1789. rem This is the end of the routine for shelling to DOS in 40-column mode.
  1790.  
  1791.  
  1792. rem Here are the help screens for 40-column mode.
  1793.  
  1794. help40:
  1795. width 40
  1796. print "You can use parameters with The Manager;"
  1797. print "they may save you time."
  1798. print
  1799. print
  1800. print "Typing MANAGER /40 will put you in"
  1801. print "40-column mode."
  1802. print
  1803. print "Typing MANAGER /40 ? will give you"
  1804. print "these help screens."
  1805. print
  1806. print "Typing MANAGER /40 D will let you"
  1807. print "delete files."
  1808. print
  1809. print "Typing MANAGER /40 M will let you"
  1810. print "make a directory."
  1811. print
  1812. print
  1813. print "Press any key to continue. ";
  1814. gosub continue:
  1815. cls
  1816. print "Typing MANAGER /40 N will let you"
  1817. print "rename files."
  1818. print
  1819. print "Typing MANAGER /40 G will let you see"
  1820. print "the time and/or date."
  1821. print
  1822. print "Typing MANAGER /40 B will let you"
  1823. print "blank your screen."
  1824. print
  1825. print "Typing MANAGER /40 S will let you"
  1826. print "a list of disk files."
  1827. print
  1828. print "Typing MANAGER /40 L will let you"
  1829. print "print a file on the lineprinter."
  1830. print
  1831. print "Either upper or lower case is fine."
  1832. print
  1833. print
  1834. print "Do you want to ";
  1835. color 0,15
  1836. print "C";
  1837. color 7,0
  1838. print "ontinue with the File"
  1839. print "Manager or return to ";
  1840. color 0,15
  1841. print "D";
  1842. color 7,0
  1843. print "OS?"
  1844. print
  1845. print
  1846. print "Please press the key corresponding to"
  1847. print "your choice. ";
  1848.  
  1849. wait43:
  1850. gosub continue:
  1851. if a$="c" then menu40:
  1852. if a$="C" then menu40:
  1853.  
  1854. if a$="d" then
  1855. cls
  1856. end
  1857. endif
  1858.  
  1859. if a$="D" then
  1860. cls
  1861. end
  1862. endif
  1863.  
  1864. goto wait43:
  1865.  
  1866.  
  1867. rem Here is the routine for printing a file in 40-column mode.
  1868.  
  1869. prfile40:
  1870.  
  1871. width 40
  1872. print "Print a File"
  1873. print
  1874. print
  1875. spaces$=space$(30)
  1876. print spaces$;
  1877. color 0,7
  1878. print "Esc=Quit"
  1879. color 7,0
  1880. print "Please type the name of the file you"
  1881. print "want to print."
  1882. print
  1883. print "Include the drive and path."
  1884. print
  1885. gosub retypf40:
  1886. realfile$=ucase$(file$)
  1887.  
  1888. doprfl40:
  1889. f$=chr$(12)
  1890. open "i",1,file$
  1891.  
  1892. if error=2 then nofilp40:
  1893. if error=3 then nopthp40:
  1894.  
  1895. headng40:
  1896. cls
  1897. print "Printing...";
  1898. realfile$=ucase$(file$)
  1899. color 0,7
  1900. print realfile$
  1901. color 7,0
  1902. print
  1903. print
  1904. print "Press space bar to pause printing, or"
  1905. print "Esc to quit."
  1906. print
  1907. print
  1908.  
  1909. prnmor40:
  1910. input# 1, line$ crlf
  1911.  
  1912. if error=96 then
  1913. lprint line$
  1914. goto blnkln40:
  1915. endif
  1916.  
  1917. contln40:
  1918. lprint line$
  1919.  
  1920. a$=inkey$
  1921.  
  1922. if a$=b$ then
  1923. print "Printing has been terminated.  The"
  1924. print "printer may still have data in its"
  1925. print "buffer.  If so, it will continue"
  1926. print "printing until the buffer is empty."
  1927. print
  1928. lprint f$
  1929. close 1
  1930. file$=""
  1931. print
  1932. print
  1933. print "Print another file? ";
  1934. goto wait14:
  1935. endif
  1936.  
  1937. if a$=e$ then
  1938. print "Press any key to resume printing. ";
  1939. gosub continue:
  1940. a$=""
  1941. goto headng40:
  1942. endif
  1943.  
  1944. if error=99 then eofp40:
  1945. goto prnmor40:
  1946.  
  1947. blnkln40:
  1948. input# 1, line$ crlf
  1949. if line$="" then prnmor40: else contln40:
  1950.  
  1951. eofp40:
  1952. lprint line$
  1953. print "Finished."
  1954. close 1
  1955. lprint f$
  1956. file$=""
  1957. print
  1958. print
  1959. print "Print another file? (y/n) ";
  1960.  
  1961. wait14:
  1962. gosub continue:
  1963. if a$="y" then prfile40:
  1964. if a$="Y" then prfile40:
  1965. if a$="n" then 2dmenu40:
  1966. if a$="N" then 2dmenu40:
  1967. goto wait14:
  1968.  
  1969. rem This is the end of the routine for printing a file in 40-column mode.
  1970.  
  1971.  
  1972.  
  1973. rem Here are the error-handling routines.
  1974.  
  1975. rem Here is the error routine for shelling to DOS in 80-column mode.
  1976.  
  1977. nocall:
  1978. cls
  1979. print "Hi.  COMMAND.COM can't be found on the drive you've specified.  You may" 
  1980. print "have specified the wrong drive, or have failed to put your DOS disk in"
  1981. print "the drive you specified."
  1982. print
  1983. print "If you'd like to try again, you may return to the SHELL routine.  If"
  1984. print "you want to cancel, you may return to the Main Options Menu."
  1985. print
  1986. print
  1987. print "Would you like to try again? (y/n) ";
  1988.  
  1989. wait21:
  1990. gosub continue:
  1991. if a$="y" then shelldos:
  1992. if a$="Y" then shelldos:
  1993. if a$="n" then menu:
  1994. if a$="N" then menu:
  1995. goto wait21:
  1996.  
  1997. rem This is the end of the error routine for shelling to DOS in 80-column mode. 
  1998.  
  1999.  
  2000. rem Here is the error routine for shelling to DOS in 40-column mode.
  2001.  
  2002. nocall40:
  2003. cls
  2004. print "Hi.  COMMAND.COM can't be found on the"
  2005. print "drive you've specified.  You may have"
  2006. print "specified the wrong drive, or have"
  2007. print "failed to place your DOS disk into the"
  2008. print "drive you specified."
  2009. print
  2010. print "If you'd like to try again, you may"
  2011. print "return to the SHELL routine.  If you'd"
  2012. print "rather not, you may return to the Main"
  2013. print "Options Menu."
  2014. print
  2015. print
  2016. print "Would you like to try again? (y/n) ";
  2017.  
  2018. wait22:
  2019. gosub continue:
  2020. if a$="y" then shell40:
  2021. if a$="Y" then shell40:
  2022. if a$="n" then menu40:
  2023. if a$="N" then menu40:
  2024. goto wait22:
  2025.  
  2026. rem This is the end of the error routine for shelling to DOS in 40-column mode. 
  2027.  
  2028.  
  2029.  
  2030. rem Here are the error routines for killfile:
  2031.  
  2032. rem File Not Found (Error 2)
  2033.  
  2034. nofilekf:
  2035. file$=""
  2036. cls
  2037. print "Hi.  The file you've specified for deletion cannot be found.  Please"
  2038. print "check your spelling and/or path."
  2039. print
  2040. print "If you want to try again, please re-enter the file to be deleted.  To"
  2041. print "quit and return to the Main Options Menu, press Esc."
  2042. print ""
  2043. print "File to be deleted? ";
  2044. gosub retypefi:
  2045.  
  2046. goto rekill:
  2047.  
  2048. rem Access Denied (Error 5)
  2049.  
  2050. illeglkf:
  2051.  
  2052. cls
  2053. print "Hi.  You've tried to delete a protected file.  DOS will not allow"
  2054. print "this.  In order to delete it, you'll have to go to DOS and change"
  2055. print "your file to read-write status."
  2056. print
  2057. print
  2058. print "NOTE: THIS FILE MAY VERY WELL BE ESSENTIAL TO THE CORRECT OPERATION OF"
  2059. print "YOUR COMPUTER OR SOME PROGRAM YOU USE REGULARLY.  DELETING IT MAY"
  2060. print "RENDER YOUR SYSTEM OR ONE OF YOUR PROGRAMS UNUSABLE.  THAT'S USUALLY"
  2061. print "WHY FILES ARE PROTECTED WITH READ-ONLY STATUS."
  2062. print
  2063. print
  2064. print "Press Esc to return to the Main Options Menu, or any other key to try"
  2065. print "again with another file. ";
  2066.  
  2067. gosub continue:
  2068. if a$=b$ then menu:
  2069. goto deletagn:
  2070.  
  2071. rem This is the end of the error routine for dealing with "Access Denied".
  2072.  
  2073. rem This is the end of the error routines for killfile:
  2074.  
  2075.  
  2076. rem Here are the error routines for killfl40:
  2077.  
  2078. rem File Not Found (Error 2)
  2079.  
  2080. noflkf40:
  2081. file$=""
  2082. cls
  2083. print "Hi. The file you've specified for"
  2084. print "deletion can't be found.  Please check"
  2085. print "your spelling and/or path."
  2086. print
  2087. print "If you want to try again, please"
  2088. print "re-enter the file to be deleted.  To"
  2089. print "quit and return to the Main Options"
  2090. print "Menu, press Esc."
  2091. print
  2092. print "File to be deleted?"
  2093. gosub retypf40:
  2094.  
  2095. goto rekill40:
  2096.  
  2097. rem Access Denied (Error 5)
  2098.  
  2099. ilglkf40:
  2100. cls
  2101. print "Hi.  You've tried to delete a protect-"
  2102. print "ed file.  DOS will not allow this.  In"
  2103. print "order to delete it, you'll have to go"
  2104. print "to DOS and change your file to read-"
  2105. print "write status."
  2106. print
  2107. print
  2108. print "PLEASE NOTE:"
  2109. print
  2110. print "THIS FILE MAY VERY WELL BE ESSENTIAL"
  2111. print "TO THE CORRECT OPERATION OF YOUR COM-"
  2112. print "PUTER OR SOME PROGRAM YOU USE REGULAR-"
  2113. print "LY.  DELETING IT MAY RENDER YOUR SYS-"
  2114. print "TEM OR ONE OF YOUR PROGRAMS UNUSABLE."
  2115. print "THAT'S USUALLY THE REASON FILES ARE"
  2116. print "PROTECTED WITH READ-ONLY STATUS."
  2117. print
  2118. print
  2119. print "Press Esc to return to the Main"
  2120. print "Options Menu or any other key to try"
  2121. print "again with a different file. ";
  2122.  
  2123. gosub continue:
  2124. if a$=b$ then menu40:
  2125. goto delagn40:
  2126.  
  2127. rem This is the end of the error routines for killfl40:
  2128.  
  2129.  
  2130. rem Here are the error routines for makedir:
  2131.  
  2132. rem Path Not Found (Error 3)
  2133.  
  2134. nopathmd:
  2135. directory$=""
  2136. cls
  2137. print "Hi.  The path you've specified can't be found.  Please check your"
  2138. print "spelling and path, and try again."
  2139. print
  2140. print "To quit and return to the Main Options Menu, press Esc."
  2141. print "Directory name (include drive and path)? ";
  2142. gosub retypefi: 
  2143.  
  2144. goto remakedr:
  2145.  
  2146. rem This is the end of the error routine for Path Not Found (makedir:)
  2147.  
  2148. rem Access Denied (Error 5)
  2149.  
  2150. illeglmd:
  2151. cls
  2152. print "Hi.  The path you've specified is protected from changes.  DOS will"
  2153. print "not allow you to make a directory using this path."
  2154. print
  2155. print
  2156. print "Press any key to return to the Main Options Menu. ";
  2157. gosub continue:
  2158. goto menu:
  2159.  
  2160. rem This is the end of the error routine for Access Denied (makedir:)
  2161.  
  2162. rem This is the end of the error routines for makedir:
  2163.  
  2164.  
  2165. rem Here are the error routines for makedr40:
  2166.  
  2167. rem Path Not Found (Error 3)
  2168.  
  2169. nopthm40:
  2170. directory$=""
  2171. cls
  2172. print "Hi.  The path you've specified can't"
  2173. print "be found.  Please check your spelling"
  2174. print "and path, and try again."
  2175. print
  2176. print "To quit and return to the Main Options"
  2177. print "Menu, press Esc."
  2178. print "Directory name (include drive and"
  2179. print "path)? ";
  2180.  
  2181. wait28:
  2182. gosub continue:
  2183.  
  2184. if a$=b$ then
  2185. directory$=""
  2186. goto menu40:
  2187. endif
  2188.  
  2189. if a$=c$ then remake40:
  2190. gosub cursor:
  2191.  
  2192. if a$=d$ then
  2193. locate a,c
  2194. print e$;
  2195. locate a,c
  2196. d=len(directory$)
  2197. e=d-1
  2198. directory$=mid$(directory$,1,e)
  2199. if e<0 then
  2200. e=0
  2201. c=c+1
  2202. locate a,c
  2203. endif
  2204. goto wait28:
  2205. endif
  2206. print a$;
  2207. directory$=directory$+a$
  2208. realdir$=ucase$(directory$)
  2209. goto wait28:
  2210.  
  2211. rem This is the end of the error routine for Path Not Found (makedr40:)
  2212.  
  2213. rem Access Denied (Error 5)
  2214.  
  2215. ilglmd40:
  2216. cls
  2217. print "Hi.  The path you've specified is pro-"
  2218. print "tected.  DOS will not allow you to"
  2219. print "make a directory using this path."
  2220. print
  2221. print
  2222. print "Press any key to return to the Main"
  2223. print "Options Menu. ";
  2224. gosub continue:
  2225. goto menu40:
  2226.  
  2227. rem This is the end of the error routine for Access Denied (makedr40:)
  2228.  
  2229. rem This is the end of the error routines for makedr40:
  2230.  
  2231.  
  2232. rem Here are the error routines for renfile:
  2233.  
  2234. rem File Not Found (Error 2)
  2235.  
  2236. nofilerf:
  2237. file1$=""
  2238. file2$=""
  2239. cls
  2240. print "Hi.  The file you've specified can't be found.  Please check your"
  2241. print "spelling and try again."
  2242. print
  2243. print "To quit and return to the Main Options Menu, press Esc."
  2244. print
  2245. print "File to rename? ";
  2246.  
  2247. wait31:
  2248. gosub continue:
  2249.  
  2250. if a$=b$ then
  2251. file1$=""
  2252. goto menu:
  2253. endif
  2254.  
  2255. if a$=c$ then nextfile:
  2256. gosub cursor:
  2257.  
  2258. if a$=d$ then
  2259. locate a,c
  2260. print e$;
  2261. locate a,c
  2262. d=len(file1$)
  2263. e=d-1
  2264. file1$=mid$(file1$,1,e)
  2265. if e<0 then
  2266. e=0
  2267. c=c+1
  2268. locate a,c
  2269. endif
  2270. goto wait31:
  2271. endif
  2272.  
  2273. print a$;
  2274. file1$=file1$+a$
  2275. realfil1$=ucase$(file1$)
  2276. goto wait31:
  2277.  
  2278. nextfile:
  2279. print ""
  2280. print ""
  2281. print "New name for ";
  2282. print realfil1$;
  2283. print "? ";
  2284.  
  2285. wait32:
  2286. gosub continue:
  2287.  
  2288. if a$=b$ then
  2289. file1$=""
  2290. file2$=""
  2291. goto menu:
  2292. endif
  2293.  
  2294. if a$=c$ then refile:
  2295. gosub cursor:
  2296.  
  2297. if a$=d$ then
  2298. locate a,c
  2299. print e$;
  2300. locate a,c
  2301. d=len(file2$)
  2302. e=d-1
  2303. file2$=mid$(file2$,1,e)
  2304. if e<0 then
  2305. e=0
  2306. c=c+1
  2307. locate a,c
  2308. endif
  2309. goto wait32:
  2310. endif
  2311.  
  2312. print a$;
  2313. file2$=file2$+a$
  2314. realfil2$=ucase$(file2$)
  2315. goto wait32:
  2316.  
  2317. rem This is the end of the File Not Found error handler (renfile:)
  2318.  
  2319.  
  2320. rem Path Not Found or File Doesn't Exist (Error 3)
  2321.  
  2322. nopathrf:
  2323. file1$=""
  2324. file2$=""
  2325. cls
  2326. print "Hi.  DOS can't find the path you've specified.  Please check your"
  2327. print "spelling and path, and try again."
  2328. print
  2329. print "To quit and return to the Main Options Menu, press Esc."
  2330. print
  2331. print
  2332. print "File to rename? ";
  2333.  
  2334. wait35:
  2335. gosub continue:
  2336.  
  2337. if a$=b$ then
  2338. file1$=""
  2339. goto menu:
  2340. endif
  2341.  
  2342. if a$=c$ then 2cndfile:
  2343. gosub cursor:
  2344.  
  2345. if a$=d$ then
  2346. locate a,c
  2347. print e$;
  2348. locate a,c
  2349. d=len(file1$)
  2350. e=d-1
  2351. file1$=mid$(file1$,1,e)
  2352. if e<0 then
  2353. e=0
  2354. c=c+1
  2355. locate a,c
  2356. endif
  2357. goto wait35:
  2358. endif
  2359.  
  2360. print a$;
  2361. file1$=file1$+a$
  2362. realfil1$=ucase$(file1$)
  2363. goto wait35:
  2364.  
  2365. 2cndfile:
  2366. print ""
  2367. print ""
  2368. print "New name for ";
  2369. print realfil1$;
  2370. print "? ";
  2371.  
  2372. wait36:
  2373. gosub continue:
  2374.  
  2375. if a$=b$ then
  2376. file1$=""
  2377. file2$=""
  2378. goto menu:
  2379. endif
  2380.  
  2381. if a$=c$ then refile:
  2382. gosub cursor:
  2383.  
  2384. if a$=d$ then
  2385. locate a,c
  2386. print e$;
  2387. locate a,c
  2388. d=len(file2$)
  2389. e=d-1
  2390. file2$=mid$(file2$,1,e)
  2391. if e<0 then
  2392. e=0
  2393. c=c+1
  2394. locate a,c
  2395. endif
  2396. goto wait36:
  2397. endif
  2398.  
  2399. print a$;
  2400. file2$=file2$+a$
  2401. realfil2$=ucase$(file2$)
  2402. goto wait36:
  2403.  
  2404. rem This is the end of the error routine for Path Not Found (renfile:)
  2405.  
  2406.  
  2407. rem Here is the error routine for Access Denied (Error 5)
  2408.  
  2409. illeglrf:
  2410. cls
  2411. print "Hi.  The file you've specified is protected.  DOS will not allow you"
  2412. print "to rename this file."
  2413. print
  2414. print
  2415. print "Press any key to return to the Main Options Menu. ";
  2416. gosub continue:
  2417. goto menu:
  2418.  
  2419. rem This is the end of the routine for Access Denied (renfile:)
  2420.  
  2421.  
  2422. rem Here is the error routine for Not same Disk Drive (Error 17)
  2423.  
  2424. diffdrrf:
  2425. file2$=""
  2426. cls
  2427. print "Hi.  You've specified a different drive for your renamed file than it"
  2428. print "was originally on.  If, for example, your original file was on drive"
  2429. print "A, the renamed file must be on drive A as well."
  2430. print
  2431. print "Please check your spelling and/or path, and try again.  To quit and"
  2432. print "return to the Main Options Menu, press Esc."
  2433. print
  2434. print
  2435. print "New name for ";
  2436. print realfil1$;
  2437. print "? ";
  2438.  
  2439. wait41:
  2440. gosub continue:
  2441.  
  2442. if a$=b$ then
  2443. file1$=""
  2444. file2$=""
  2445. goto menu:
  2446. endif
  2447.  
  2448. if a$=c$ then refile:
  2449. gosub cursor:
  2450.  
  2451. if a$=d$ then
  2452. locate a,c
  2453. print e$;
  2454. locate a,c
  2455. d=len(file2$)
  2456. e=d-1
  2457. file2$=mid$(file2$,1,e)
  2458. if e<0 then
  2459. e=0
  2460. c=c+1
  2461. locate a,c
  2462. endif
  2463. goto wait41:
  2464. endif
  2465.  
  2466. print a$;
  2467. file2$=file2$+a$
  2468. realfil2$=ucase$(file2$)
  2469. goto wait41:
  2470.  
  2471. rem This is the end of the error routine for Not Same Disk Drive (renfile:)
  2472.  
  2473.  
  2474. rem Here are the error routines for renfil40:
  2475.  
  2476. rem File Not Found (Error 2)
  2477.  
  2478. noflrf40:
  2479. file1$=""
  2480. file2$=""
  2481. cls
  2482. print "Hi.  The file you've specified can't"
  2483. print "be found.  Please check your spelling"
  2484. print "and path, and try again."
  2485. print
  2486. print "To quit and return to the Main Options"
  2487. print "Menu, press Esc."
  2488. print
  2489. print
  2490. print "File to rename? ";
  2491.  
  2492. wait33:
  2493. gosub continue:
  2494.  
  2495. if a$=b$ then
  2496. file1$=""
  2497. goto menu40:
  2498. endif
  2499.  
  2500. if a$=c$ then nxtmnu40:
  2501. gosub cursor:
  2502.  
  2503. if a$=d$ then
  2504. locate a,c
  2505. print e$;
  2506. locate a,c
  2507. d=len(file1$)
  2508. e=d-1
  2509. file1$=mid$(file1$,1,e)
  2510. if e<0 then
  2511. e=0
  2512. c=c+1
  2513. locate a,c
  2514. endif
  2515. goto wait33:
  2516. endif
  2517. print a$;
  2518. file1$=file1$+a$
  2519. realfil1$=ucase$(file1$)
  2520. goto wait33:
  2521. nxtmnu40:
  2522. print ""
  2523. print ""
  2524. print "New name for ";
  2525. print realfil1$;
  2526. print "? ";
  2527.  
  2528. wait34:
  2529. gosub continue:
  2530.  
  2531. if a$=b$ then
  2532. file1$=""
  2533. file2$=""
  2534. goto menu40:
  2535. endif
  2536.  
  2537. if a$=c$ then refile40:
  2538. gosub cursor:
  2539.  
  2540. if a$=d$ then
  2541. locate a,c
  2542. print e$;
  2543. locate a,c
  2544. d=len(file2$)
  2545. e=d-1
  2546. file2$=mid$(file2$,1,e)
  2547. if e<0 then
  2548. e=0
  2549. c=c+1
  2550. locate a,c
  2551. endif
  2552. goto wait34:
  2553. endif
  2554.  
  2555. print a$;
  2556. file2$=file2$+a$
  2557. realfil2$=ucase$(file2$)
  2558. goto wait34:
  2559.  
  2560. rem This is the end of the File Not Found error handler (renfil40:)
  2561.  
  2562.  
  2563. rem Path Not Found or File Doesn't Exist (Error 3)
  2564.  
  2565. nopthr40:
  2566. file1$=""
  2567. file2$=""
  2568. cls
  2569. print "Hi.  DOS can't find the path you've"
  2570. print "specified.  Please check your spelling"
  2571. print "and path, and try again."
  2572. print
  2573. print "To quit and return to the Main Options"
  2574. print "Menu, press Esc."
  2575. print
  2576. print
  2577. print "File to rename? ";
  2578.  
  2579. wait37:
  2580. gosub continue:
  2581.  
  2582. if a$=b$ then
  2583. file1$=""
  2584. goto menu40:
  2585. endif
  2586.  
  2587. if a$=c$ then 2cndfl40:
  2588. gosub cursor:
  2589.  
  2590. if a$=d$ then
  2591. locate a,c
  2592. print e$;
  2593. locate a,c
  2594. d=len(file1$)
  2595. e=d-1
  2596. file1$=mid$(file1$,1,e)
  2597. if e<0 then
  2598. e=0
  2599. c=c+1
  2600. locate a,c
  2601. endif
  2602. goto wait37:
  2603. endif
  2604.  
  2605. print a$;
  2606. file1$=file1$+a$
  2607. realfil1$=ucase$(file1$)
  2608. goto wait37:
  2609.  
  2610. 2cndfl40:
  2611. print ""
  2612. print ""
  2613. print "New name for ";
  2614. print realfil1$;
  2615. print "? ";
  2616.  
  2617. wait38:
  2618. gosub continue:
  2619.  
  2620. if a$=b$ then
  2621. file1$=""
  2622. file2$=""
  2623. goto menu40:
  2624. endif
  2625.  
  2626. if a$=c$ then refile40:
  2627. gosub cursor:
  2628.  
  2629. if a$=d$ then
  2630. locate a,c
  2631. print e$;
  2632. locate a,c
  2633. d=len(file2$)
  2634. e=d-1
  2635. file2$=mid$(file2$,1,e)
  2636. if e<0 then
  2637. e=0
  2638. c=c+1
  2639. locate a,c
  2640. endif
  2641. goto wait38:
  2642. endif
  2643.  
  2644. print a$;
  2645. file2$=file2$+a$
  2646. realfil2$=ucase$(file2$)
  2647. goto wait38:
  2648.  
  2649. rem This is the end of the routine for Path Not Found (renfil40:)
  2650.  
  2651.  
  2652. rem Here is the error routine for Access Denied (Error 5)
  2653.  
  2654. ilglrf40:
  2655. cls
  2656. print "Hi.  The file you've specified is pro-"
  2657. print "tected.  DOS will not allow you to re-"
  2658. print "name this file."
  2659. print
  2660. print
  2661. print "Press any key to return to the Main"
  2662. print "Options Menu. ";
  2663. gosub continue:
  2664. goto menu40:
  2665.  
  2666. rem This is the end of the error routine for Access Denied (renfil40:)
  2667.  
  2668.  
  2669. rem Here is the routine for Not Same Disk Drive (Error 17)
  2670.  
  2671. difdrr40:
  2672. file2$=""
  2673. cls
  2674. print "Hi.  You've specified a different"
  2675. print "drive for your file than it was orig-"
  2676. print "inally on.  For instance, if the orig-"
  2677. print "inal file was on drive A, the renamed"
  2678. print "file must be on drive A as well."
  2679. print
  2680. print "Please check your spelling and/or path"
  2681. print "and try again.  To quit and return to"
  2682. print "the Main Options Menu, press Esc."
  2683. print
  2684. print
  2685. print "New name for ";
  2686. print realfil1$;
  2687. print "? "
  2688.  
  2689. wait42:
  2690. gosub continue:
  2691.  
  2692. if a$=b$ then
  2693. file1$=""
  2694. file2$=""
  2695. goto menu40:
  2696. endif
  2697.  
  2698. if a$=c$ then refile40:
  2699. gosub cursor:
  2700.  
  2701. if a$=d$ then
  2702. locate a,c
  2703. print e$;
  2704. locate a,c
  2705. d=len(file2$)
  2706. e=d-1
  2707. file2$=mid$(file2$,1,e)
  2708. if e<0 then
  2709. e=0
  2710. c=c+1
  2711. locate a,c
  2712. endif
  2713. goto wait42:
  2714. endif
  2715.  
  2716. print a$;
  2717. file2$=file2$+a$
  2718. realfil2$=ucase$(file2$)
  2719. goto wait42:
  2720.  
  2721. rem This is the end of the error routine for Not Same Disk Drive (renfil40:)
  2722.  
  2723.  
  2724. rem Here is the error routine for File Not Found (Error 2, readfile:)
  2725.  
  2726. nofilerd:
  2727. file$=""
  2728. cls
  2729. print "Hi.  The file you've selected can't be found.  Please check your"
  2730. print "spelling and/or path, and try again.  To return to the Main Options"
  2731. print "Menu, press Esc at any time."
  2732. print
  2733. print
  2734. print "File? ";
  2735.  
  2736. wait57:
  2737. gosub continue:
  2738.  
  2739. if a$=b$ then
  2740. file$=""
  2741. goto menu:
  2742. endif
  2743.  
  2744. if a$=c$ then 
  2745. cls
  2746. return
  2747. endif
  2748.  
  2749. gosub cursor:
  2750.  
  2751. if a$=d$ then
  2752. locate a,c
  2753. print e$;
  2754. locate a,c
  2755. d=len(file$)
  2756. e=d-1
  2757. file$=mid$(file$,1,e)
  2758. if e<0 then
  2759. e=0
  2760. c=c+1
  2761. locate a,c
  2762. endif
  2763. goto wait57:
  2764. endif
  2765.  
  2766. print a$;
  2767. file$=file$+a$
  2768. goto wait57:
  2769.  
  2770. rem This is the end of the error routine for File Not Found (readfile:)
  2771.  
  2772.  
  2773. rem Here is the error routine for File Not Found (prfile40:)
  2774.  
  2775. nofilp40:
  2776. cls
  2777. file$=""
  2778. print "Hi.  The file you've specified can't be found.  Please check your"
  2779. print "spelling and try again.  To quit and return to the Main Options Menu,"
  2780. print "press Esc at any time."
  2781. print
  2782. print
  2783. print "File to print? ";
  2784.  
  2785. wait18:
  2786. gosub continue:
  2787. if a$="" then wait18:
  2788.  
  2789. if a$=b$ then
  2790. file$=""
  2791. goto 2dmenu40:
  2792. endif
  2793.  
  2794. if a$=c$ then doprfl40:
  2795. gosub cursor:
  2796.  
  2797. if a$=d$ then
  2798. locate a,c
  2799. print e$;
  2800. locate a,c
  2801. d=len(file$)
  2802. e=d-1
  2803. file$=mid$(file$,1,e)
  2804. if e<0 then
  2805. c=c+1
  2806. locate a,c
  2807. endif
  2808. goto wait18:
  2809. endif
  2810.  
  2811. print a$;
  2812. file$=file$+a$
  2813. goto wait18:
  2814.  
  2815. rem This is the end of the error routine for File Not Found (prfile40:).
  2816.  
  2817.  
  2818. rem Here is the error routine for Path Not Found (prfile40:)
  2819.  
  2820. nopthp40:
  2821. file$=""
  2822. cls
  2823. print "Hi.  The path you've specified can't be found.  Please check your"
  2824. print "spelling and try again.  To quit and return to the Main Options Menu,"
  2825. print "press Esc at any time."
  2826. print
  2827. print
  2828. print "File to print? ";
  2829.  
  2830. wait19:
  2831. gosub continue:
  2832. if a$="" then wait19:
  2833.  
  2834. if a$=b$ then
  2835. file$=""
  2836. goto 2dmenu40:
  2837. endif
  2838.  
  2839. if a$=c$ then doprfl40:
  2840. gosub cursor:
  2841.  
  2842. if a$=d$ then
  2843. locate a,c
  2844. print e$;
  2845. locate a,c
  2846. d=len(file$)
  2847. e=d-1
  2848. file$=mid$(file$,1,e)
  2849. if e<0 then
  2850. e=0
  2851. c=c+1
  2852. locate a,c
  2853. endif
  2854. goto wait19:
  2855. endif
  2856.  
  2857. print a$;
  2858. file$=file$+a$
  2859. goto wait19:
  2860.  
  2861. rem This is the end of the error routine for Path Not Found (prfile40:)
  2862.  
  2863.  
  2864. rem Here is the error routine for Path Not Found (readfile:)
  2865.  
  2866. nopathrd:
  2867. file$=""
  2868. cls
  2869. print "Hi.  The path you've specified can't be found.  Please check your"
  2870. print "spelling and path, and try again.  To quit and return to the Main Op-"
  2871. print "tions Menu, press Esc at any time."
  2872. print
  2873. print "File to read? ";
  2874.  
  2875. wait1:
  2876. gosub continue:
  2877.  
  2878. if a$=b$ then
  2879. file$=""
  2880. goto menu:
  2881. endif
  2882.  
  2883. if a$=c$ then
  2884. cls
  2885. goto reread:
  2886. endif
  2887.  
  2888. gosub cursor:
  2889. if a$=d$ then
  2890. locate a,c
  2891. print e$;
  2892. locate a,c
  2893. d=len(file$)
  2894. e=d-1
  2895. file$=mid$(file$,1,e)
  2896. if e<0 then
  2897. e=0
  2898. c=c+1
  2899. locate a,c
  2900. endif
  2901. if b=0 then
  2902. a=a-1
  2903. b=79
  2904. locate a,b
  2905. print e$;
  2906. locate a,b
  2907. endif
  2908. goto wait1:
  2909. endif
  2910.  
  2911. print a$;
  2912. file$=file$+a$
  2913. goto wait1:
  2914.  
  2915. rem This is the end of the error routine for Path Not Found (readfile:)
  2916.  
  2917.  
  2918. rem Here is the error routine for Path Not Found (printfil:)
  2919.  
  2920. nopathpr:
  2921. file$=""
  2922. cls
  2923. print "Hi.  The path you've specified can't be found.  Please check your"
  2924. print "spelling and path and try again.  To quit and return to the Main Op-"
  2925. print "tions Menu, press Esc at any time."
  2926. print
  2927. print "File to print? ";
  2928.  
  2929. wait10:
  2930. gosub continue:
  2931.  
  2932. if a$=b$ then
  2933. file$=""
  2934. goto menu:
  2935. endif
  2936.  
  2937. if a$=c$ then doprintf:
  2938. gosub cursor:
  2939.  
  2940. if a$=d$ then
  2941. locate a,c
  2942. print e$;
  2943. locate a,c
  2944. d=len(file$)
  2945. e=d-1
  2946. file$=mid$(file$,1,e)
  2947. if e<0 then
  2948. e=0
  2949. c=c+1
  2950. locate a,c
  2951. endif
  2952. if b=0 then
  2953. a=a-1
  2954. b=79
  2955. locate a,b
  2956. print e$;
  2957. locate a,b
  2958. endif
  2959. goto wait10:
  2960. endif
  2961.  
  2962. print a$;
  2963. file$=file$+a$
  2964. goto wait10:
  2965.  
  2966. end
  2967.